// OGoMojo
// Whitemice.MOGI.IRelation
// License: LGPL
// Copyright: Whitemice Consulting, 2006
// Author(s): Adam Tauno Williams (awilliam@whitemice.org)
using System;

namespace Whitemice.MOGI
{

	public enum ERelationType : uint {
		ObjectLink = 1,
		Member = 2,
		MemberOf = 3,
		AssignedTo = 4,
		IsAlso = 5,
		Owner = 6,
		Unknown = 7
	}
	
	/// \brief Expresses a relationship between documents
	/// \note This can be tricky as you have to remember which way your facing
	/// Examples:
	/// To make a contact a member of an enterprise 
	/// new Relation(ERelationType.MemberOf, contact.Name, enterprise.Name, "", "");
	public interface IRelation : IMOGIObject
	{
		string Source { get; set; }
		string Target { get; set; }
		string Description { get; }
		string	Label { get; }
		string Comment { get; }
		ERelationType Type { get; set; }
	}
}